package com.xhu.collegestudentrentalsystem.module.user.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.util.Date;
import java.util.List;

/**
 * @author zhu huilin
 * @date 2023/4/2 10:54
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@ToString
@Setter
@Getter
@TableName("comment")
public class Comment {
    /**
     * 主键id
     */
    @TableId(type = IdType.AUTO)
    private Long id;
    /**
     * 评论用户的id
     */
    private Long userId;
    /**
     * 被评论实体的类别1-帖子；2-评论；3-用户
     */
    private Integer entityType;
    /**
     * 被评论实体的id
     */
    private Long entityId;
    /**
     * 被评论的目标用户id
     */
    private Long targetId;
    /**
     * 评论内容
     */
    private String content;
    /**
     * 评论的状态 0-正常；1-被删除
     */
    private Integer status;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 评论用户的信息
     */
    @TableField(exist = false)
    private User user;
    /**
     * 被评论的目标用户信息
     */
    @TableField(exist = false)
    private User target;
    /**
     * 该条评论的回复信息
     */
    @TableField(exist = false)
    private List<Comment> replyComments;
    /**
     * 评论的点赞数
     */
    @TableField(exist = false)
    private Long likeCount;
    /**
     * 登录用户的点赞状态
     */
    @TableField(exist = false)
    private Integer likeStatus = 0;
}
